home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 February: Technology Seed / Mac Tech Seed Feb '97.toast / OpenDoc 1.2b2c1 / OpenDoc / Interfaces / CPlusPlus / ShapeB.xh < prev    next >
Encoding:
Text File  |  1997-02-13  |  14.4 KB  |  584 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: ShapeB.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emitxh.dll: 2.33
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Classes defined in this interface
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODBaseShape_xh
  18. #define SOM_ODBaseShape_xh
  19.  
  20. class ODBaseShape;
  21.  
  22. #define ODBaseShape_MajorVersion 1
  23. #define ODBaseShape_MinorVersion 0
  24.  
  25. /* C++ SOM defs */
  26. #include <somcls.xh>
  27. #include <somcm.xh>
  28.  
  29. /* C++ parent defs */
  30. #ifndef SOM_ODRefCntObject_xh
  31. #include <RefCtObj.xh>
  32. #endif
  33.  
  34. #ifndef ODBaseShape_API
  35. #define ODBaseShape_API
  36. /*
  37.  * -- The Class API
  38.  */
  39.  
  40. /*
  41.  * Start of user-defined types:
  42.  */
  43. class SOMClass;
  44. class SOMObject;
  45. class ODFrame;
  46. class ODFacet;
  47. class ODObject;
  48. class ODExtension;
  49. class ODRefCntObject;
  50. class ODBaseShape;
  51. class ODShape;
  52. class ODTransform;
  53. class ODStorageUnit;
  54.  
  55. /*
  56.  * End of user-defined types.
  57.  */
  58.  
  59. #ifdef OLDIBMSOMAPISUPPORT
  60. #define ODBaseShapeCClassData ODBaseShapeClassData
  61. #define ODBaseShapeNewClass(major,minor) somNewVersionedClassReference(ODBaseShape,major,minor)
  62. #endif
  63.  
  64. /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
  65. #define ODBaseShapeMetaClass SOMClass
  66.  
  67. #if PRAGMA_ALIGN_SUPPORTED
  68. #  pragma options align=power
  69. #endif
  70.  
  71. /* The API to the ODBaseShape class object, and the methods it introduces. */
  72. SOMEXTERN struct ODBaseShapeClassDataStructure {
  73. #ifdef OLDIBMSOMAPISUPPORT
  74.     SOMClass            *classObject;    /* always zero, use somNewClassReference instead */
  75. #else
  76.     long zero;
  77. #endif
  78.     somStaticClassInfo *sci;
  79.     somDToken        instanceDataToken;
  80.     long reserved [3];
  81.     somMToken SetGeometryMode;
  82.     somMToken GetGeometryMode;
  83.     somMToken GetBoundingBox;
  84.     somMToken SetRectangle;
  85.     somMToken CopyPolygon;
  86.     somMToken SetPolygon;
  87.     somMToken GetPlatformShape;
  88.     somMToken SetPlatformShape;
  89.     somMToken WriteShape;
  90.     somMToken ReadShape;
  91.     somMToken IsSameAs;
  92.     somMToken IsEmpty;
  93.     somMToken ContainsPoint;
  94.     somMToken IsRectangular;
  95.     somMToken HasGeometry;
  96.     somMToken Copy;
  97.     somMToken CopyFrom;
  98.     somMToken Transform;
  99.     somMToken InverseTransform;
  100.     somMToken Subtract;
  101.     somMToken Intersect;
  102.     somMToken Union;
  103.     somMToken Outset;
  104.     somMToken NewShape;
  105.     somMToken Reset;
  106.     somMToken reserved1;
  107.     somMToken reserved2;
  108. } SOMDLINK ODBaseShapeClassData;
  109.  
  110. #if PRAGMA_ALIGN_SUPPORTED
  111. #  pragma options align=reset
  112. #endif
  113.  
  114. #if !defined(ODBaseShape_Class_Source) && !defined(SOM_Module_shapeb_Source)
  115. #if PRAGMA_IMPORT_SUPPORTED
  116. #pragma import list ODBaseShapeClassData
  117. #endif
  118. #endif
  119.  
  120.  
  121. /*
  122.  * -- Typedefs and inline method declarations for left path inherited methods
  123.  * -- are omitted because this compilation had -museinheritedmethods in effect
  124.  */
  125.  
  126.  
  127. /*
  128.  * -- Typedefs for ODBaseShape Method Procedures
  129.  */
  130. SOMEXTERN {
  131. typedef ODShape*   (* SOMLINK somTD_ODBaseShape_NewShape)(ODBaseShape *somSelf, Environment *ev);
  132. typedef ODShape*   (* SOMLINK somTD_ODBaseShape_Copy)(ODBaseShape *somSelf, Environment *ev);
  133. typedef ODGeometryMode   (* SOMLINK somTD_ODBaseShape_GetGeometryMode)(ODBaseShape *somSelf, Environment *ev);
  134. typedef void   (* SOMLINK somTD_ODBaseShape_SetGeometryMode)(ODBaseShape *somSelf, Environment *ev,
  135.         ODGeometryMode mode);
  136. typedef void   (* SOMLINK somTD_ODBaseShape_GetBoundingBox)(ODBaseShape *somSelf, Environment *ev,
  137.         ODRect* bounds);
  138. typedef ODShape*   (* SOMLINK somTD_ODBaseShape_SetRectangle)(ODBaseShape *somSelf, Environment *ev,
  139.         ODRect* rect);
  140. typedef void   (* SOMLINK somTD_ODBaseShape_CopyPolygon)(ODBaseShape *somSelf, Environment *ev,
  141.         ODPolygon* copy);
  142. typedef ODShape*   (* SOMLINK somTD_ODBaseShape_SetPolygon)(ODBaseShape *somSelf, Environment *ev,
  143.         ODPolygon* polygon);
  144. typedef ODPlatformShape   (* SOMLINK somTD_ODBaseShape_GetPlatformShape)(ODBaseShape *somSelf, Environment *ev,
  145.         ODGraphicsSystem graphicsSystem);
  146. typedef void   (* SOMLINK somTD_ODBaseShape_SetPlatformShape)(ODBaseShape *somSelf, Environment *ev,
  147.         ODGraphicsSystem graphicsSystem,
  148.         ODPlatformShape platformShape);
  149. typedef void   (* SOMLINK somTD_ODBaseShape_Reset)(ODBaseShape *somSelf, Environment *ev);
  150. typedef void   (* SOMLINK somTD_ODBaseShape_WriteShape)(ODBaseShape *somSelf, Environment *ev,
  151.         ODStorageUnit* storageUnit);
  152. typedef ODShape*   (* SOMLINK somTD_ODBaseShape_ReadShape)(ODBaseShape *somSelf, Environment *ev,
  153.         ODStorageUnit* storageUnit);
  154. typedef ODBoolean   (* SOMLINK somTD_ODBaseShape_IsSameAs)(ODBaseShape *somSelf, Environment *ev,
  155.         ODShape* compareShape);
  156. typedef ODBoolean   (* SOMLINK somTD_ODBaseShape_IsEmpty)(ODBaseShape *somSelf, Environment *ev);
  157. typedef ODBoolean   (* SOMLINK somTD_ODBaseShape_ContainsPoint)(ODBaseShape *somSelf, Environment *ev,
  158.         ODPoint* point);
  159. typedef ODBoolean   (* SOMLINK somTD_ODBaseShape_IsRectangular)(ODBaseShape *somSelf, Environment *ev);
  160. typedef ODBoolean   (* SOMLINK somTD_ODBaseShape_HasGeometry)(ODBaseShape *somSelf, Environment *ev);
  161. typedef void   (* SOMLINK somTD_ODBaseShape_CopyFrom)(ODBaseShape *somSelf, Environment *ev,
  162.         ODShape* sourceShape);
  163. typedef ODShape*   (* SOMLINK somTD_ODBaseShape_Transform)(ODBaseShape *somSelf, Environment *ev,
  164.         ODTransform* transform);
  165. typedef ODShape*   (* SOMLINK somTD_ODBaseShape_InverseTransform)(ODBaseShape *somSelf, Environment *ev,
  166.         ODTransform* transform);
  167. typedef ODShape*   (* SOMLINK somTD_ODBaseShape_Subtract)(ODBaseShape *somSelf, Environment *ev,
  168.         ODShape* diffShape);
  169. typedef ODShape*   (* SOMLINK somTD_ODBaseShape_Intersect)(ODBaseShape *somSelf, Environment *ev,
  170.         ODShape* sectShape);
  171. typedef ODShape*   (* SOMLINK somTD_ODBaseShape_Union)(ODBaseShape *somSelf, Environment *ev,
  172.         ODShape* unionShape);
  173. typedef ODShape*   (* SOMLINK somTD_ODBaseShape_Outset)(ODBaseShape *somSelf, Environment *ev,
  174.         ODCoordinate distance);
  175. }
  176.  
  177. #endif /* ODBaseShape_API */
  178.  
  179.  
  180. /*
  181.  * -- This emitter treats Method Tokens as Thunks by default.
  182.  * -- Use the sc modifier "nothunks" to change this default
  183.  */
  184. #undef somresolve_
  185. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  186.  
  187. /*
  188.  * -- The C++ Wrapper Class for ODBaseShape
  189.  */
  190. class ODBaseShape : public ODRefCntObject
  191. {
  192. public:
  193.  
  194. // ODBaseShape::new registers use of the class object, and then uses somNew
  195. // to allocate memory and load the object method table pointer. 
  196. void *operator new(size_t size)
  197. {
  198.     SOM_IgnoreWarning(size);
  199.     // Allocate memory using the default allocator for ODBaseShape, and
  200.     // clear mem & set method table pointer, call basic initialization
  201. #ifdef SOMCHKNULL
  202.     void * __somResult = (void *)
  203.       somNewObject(ODBaseShape);
  204.     SOMCHKNULL(__somResult);
  205.     return __somResult;
  206. #else
  207.     return (void*) somNewObject(ODBaseShape);
  208. #endif
  209. }
  210.  
  211. // ODBaseShape::delete uses the default deallocator for the object's class.
  212. void operator delete(void * obj)
  213. {
  214.     if (obj) {
  215.         SOM_Resolve(obj,SOMObject,somFree)
  216.            ( (SOMObject*) obj );
  217.     }
  218. }
  219.  
  220. /* method: NewShape */
  221. ODShape*   NewShape(Environment *ev)
  222. {
  223.    #ifdef SOMCHKEXCEPT
  224.    ODShape* __somResult = 
  225.       SOM_ResolveD(this,ODBaseShape,ODBaseShape,NewShape)
  226.     (this,ev);
  227.       SOMCHKEXCEPT;
  228.    return __somResult;
  229. #else
  230.    return SOM_ResolveD(this,ODBaseShape,ODBaseShape,NewShape)
  231.     (this,ev);
  232. #endif
  233. }
  234.  
  235. /* method: Copy */
  236. ODShape*   Copy(Environment *ev)
  237. {
  238.    #ifdef SOMCHKEXCEPT
  239.    ODShape* __somResult = 
  240.       SOM_ResolveD(this,ODBaseShape,ODBaseShape,Copy)
  241.     (this,ev);
  242.       SOMCHKEXCEPT;
  243.    return __somResult;
  244. #else
  245.    return SOM_ResolveD(this,ODBaseShape,ODBaseShape,Copy)
  246.     (this,ev);
  247. #endif
  248. }
  249.  
  250. /* method: GetGeometryMode */
  251. ODGeometryMode   GetGeometryMode(Environment *ev)
  252. {
  253.    #ifdef SOMCHKEXCEPT
  254.    ODGeometryMode __somResult = 
  255.       SOM_ResolveD(this,ODBaseShape,ODBaseShape,GetGeometryMode)
  256.     (this,ev);
  257.       SOMCHKEXCEPT;
  258.    return __somResult;
  259. #else
  260.    return SOM_ResolveD(this,ODBaseShape,ODBaseShape,GetGeometryMode)
  261.     (this,ev);
  262. #endif
  263. }
  264.  
  265. /* method: SetGeometryMode */
  266. void   SetGeometryMode(Environment *ev,
  267.         ODGeometryMode mode)
  268. {
  269.    SOM_ResolveD(this,ODBaseShape,ODBaseShape,SetGeometryMode)
  270.     (this,ev,mode);
  271. #ifdef SOMCHKEXCEPT
  272.       SOMCHKEXCEPT;
  273. #endif
  274. }
  275.  
  276. /* method: GetBoundingBox */
  277. void   GetBoundingBox(Environment *ev,
  278.         ODRect* bounds)
  279. {
  280.    SOM_ResolveD(this,ODBaseShape,ODBaseShape,GetBoundingBox)
  281.     (this,ev,bounds);
  282. #ifdef SOMCHKEXCEPT
  283.       SOMCHKEXCEPT;
  284. #endif
  285. }
  286.  
  287. /* method: SetRectangle */
  288. ODShape*   SetRectangle(Environment *ev,
  289.         ODRect* rect)
  290. {
  291.    #ifdef SOMCHKEXCEPT
  292.    ODShape* __somResult = 
  293.       SOM_ResolveD(this,ODBaseShape,ODBaseShape,SetRectangle)
  294.     (this,ev,rect);
  295.       SOMCHKEXCEPT;
  296.    return __somResult;
  297. #else
  298.    return SOM_ResolveD(this,ODBaseShape,ODBaseShape,SetRectangle)
  299.     (this,ev,rect);
  300. #endif
  301. }
  302.  
  303. /* method: CopyPolygon */
  304. void   CopyPolygon(Environment *ev,
  305.         ODPolygon* copy)
  306. {
  307.    SOM_ResolveD(this,ODBaseShape,ODBaseShape,CopyPolygon)
  308.     (this,ev,copy);
  309. #ifdef SOMCHKEXCEPT
  310.       SOMCHKEXCEPT;
  311. #endif
  312. }
  313.  
  314. /* method: SetPolygon */
  315. ODShape*   SetPolygon(Environment *ev,
  316.         ODPolygon* polygon)
  317. {
  318.    #ifdef SOMCHKEXCEPT
  319.    ODShape* __somResult = 
  320.       SOM_ResolveD(this,ODBaseShape,ODBaseShape,SetPolygon)
  321.     (this,ev,polygon);
  322.       SOMCHKEXCEPT;
  323.    return __somResult;
  324. #else
  325.    return SOM_ResolveD(this,ODBaseShape,ODBaseShape,SetPolygon)
  326.     (this,ev,polygon);
  327. #endif
  328. }
  329.  
  330. /* method: GetPlatformShape */
  331. ODPlatformShape   GetPlatformShape(Environment *ev,
  332.         ODGraphicsSystem graphicsSystem)
  333. {
  334.    #ifdef SOMCHKEXCEPT
  335.    ODPlatformShape __somResult = 
  336.       SOM_ResolveD(this,ODBaseShape,ODBaseShape,GetPlatformShape)
  337.     (this,ev,graphicsSystem);
  338.       SOMCHKEXCEPT;
  339.    return __somResult;
  340. #else
  341.    return SOM_ResolveD(this,ODBaseShape,ODBaseShape,GetPlatformShape)
  342.     (this,ev,graphicsSystem);
  343. #endif
  344. }
  345.  
  346. /* method: SetPlatformShape */
  347. void   SetPlatformShape(Environment *ev,
  348.         ODGraphicsSystem graphicsSystem,
  349.         ODPlatformShape platformShape)
  350. {
  351.    SOM_ResolveD(this,ODBaseShape,ODBaseShape,SetPlatformShape)
  352.     (this,ev,graphicsSystem,platformShape);
  353. #ifdef SOMCHKEXCEPT
  354.       SOMCHKEXCEPT;
  355. #endif
  356. }
  357.  
  358. /* method: Reset */
  359. void   Reset(Environment *ev)
  360. {
  361.    SOM_ResolveD(this,ODBaseShape,ODBaseShape,Reset)
  362.     (this,ev);
  363. #ifdef SOMCHKEXCEPT
  364.       SOMCHKEXCEPT;
  365. #endif
  366. }
  367.  
  368. /* method: WriteShape */
  369. void   WriteShape(Environment *ev,
  370.         ODStorageUnit* storageUnit)
  371. {
  372.    SOM_ResolveD(this,ODBaseShape,ODBaseShape,WriteShape)
  373.     (this,ev,storageUnit);
  374. #ifdef SOMCHKEXCEPT
  375.       SOMCHKEXCEPT;
  376. #endif
  377. }
  378.  
  379. /* method: ReadShape */
  380. ODShape*   ReadShape(Environment *ev,
  381.         ODStorageUnit* storageUnit)
  382. {
  383.    #ifdef SOMCHKEXCEPT
  384.    ODShape* __somResult = 
  385.       SOM_ResolveD(this,ODBaseShape,ODBaseShape,ReadShape)
  386.     (this,ev,storageUnit);
  387.       SOMCHKEXCEPT;
  388.    return __somResult;
  389. #else
  390.    return SOM_ResolveD(this,ODBaseShape,ODBaseShape,ReadShape)
  391.     (this,ev,storageUnit);
  392. #endif
  393. }
  394.  
  395. /* method: IsSameAs */
  396. ODBoolean   IsSameAs(Environment *ev,
  397.         ODShape* compareShape)
  398. {
  399.    #ifdef SOMCHKEXCEPT
  400.    ODBoolean __somResult = 
  401.       SOM_ResolveD(this,ODBaseShape,ODBaseShape,IsSameAs)
  402.     (this,ev,compareShape);
  403.       SOMCHKEXCEPT;
  404.    return __somResult;
  405. #else
  406.    return SOM_ResolveD(this,ODBaseShape,ODBaseShape,IsSameAs)
  407.     (this,ev,compareShape);
  408. #endif
  409. }
  410.  
  411. /* method: IsEmpty */
  412. ODBoolean   IsEmpty(Environment *ev)
  413. {
  414.    #ifdef SOMCHKEXCEPT
  415.    ODBoolean __somResult = 
  416.       SOM_ResolveD(this,ODBaseShape,ODBaseShape,IsEmpty)
  417.     (this,ev);
  418.       SOMCHKEXCEPT;
  419.    return __somResult;
  420. #else
  421.    return SOM_ResolveD(this,ODBaseShape,ODBaseShape,IsEmpty)
  422.     (this,ev);
  423. #endif
  424. }
  425.  
  426. /* method: ContainsPoint */
  427. ODBoolean   ContainsPoint(Environment *ev,
  428.         ODPoint* point)
  429. {
  430.    #ifdef SOMCHKEXCEPT
  431.    ODBoolean __somResult = 
  432.       SOM_ResolveD(this,ODBaseShape,ODBaseShape,ContainsPoint)
  433.     (this,ev,point);
  434.       SOMCHKEXCEPT;
  435.    return __somResult;
  436. #else
  437.    return SOM_ResolveD(this,ODBaseShape,ODBaseShape,ContainsPoint)
  438.     (this,ev,point);
  439. #endif
  440. }
  441.  
  442. /* method: IsRectangular */
  443. ODBoolean   IsRectangular(Environment *ev)
  444. {
  445.    #ifdef SOMCHKEXCEPT
  446.    ODBoolean __somResult = 
  447.       SOM_ResolveD(this,ODBaseShape,ODBaseShape,IsRectangular)
  448.     (this,ev);
  449.       SOMCHKEXCEPT;
  450.    return __somResult;
  451. #else
  452.    return SOM_ResolveD(this,ODBaseShape,ODBaseShape,IsRectangular)
  453.     (this,ev);
  454. #endif
  455. }
  456.  
  457. /* method: HasGeometry */
  458. ODBoolean   HasGeometry(Environment *ev)
  459. {
  460.    #ifdef SOMCHKEXCEPT
  461.    ODBoolean __somResult = 
  462.       SOM_ResolveD(this,ODBaseShape,ODBaseShape,HasGeometry)
  463.     (this,ev);
  464.       SOMCHKEXCEPT;
  465.    return __somResult;
  466. #else
  467.    return SOM_ResolveD(this,ODBaseShape,ODBaseShape,HasGeometry)
  468.     (this,ev);
  469. #endif
  470. }
  471.  
  472. /* method: CopyFrom */
  473. void   CopyFrom(Environment *ev,
  474.         ODShape* sourceShape)
  475. {
  476.    SOM_ResolveD(this,ODBaseShape,ODBaseShape,CopyFrom)
  477.     (this,ev,sourceShape);
  478. #ifdef SOMCHKEXCEPT
  479.       SOMCHKEXCEPT;
  480. #endif
  481. }
  482.  
  483. /* method: Transform */
  484. ODShape*   Transform(Environment *ev,
  485.         ODTransform* transform)
  486. {
  487.    #ifdef SOMCHKEXCEPT
  488.    ODShape* __somResult = 
  489.       SOM_ResolveD(this,ODBaseShape,ODBaseShape,Transform)
  490.     (this,ev,transform);
  491.       SOMCHKEXCEPT;
  492.    return __somResult;
  493. #else
  494.    return SOM_ResolveD(this,ODBaseShape,ODBaseShape,Transform)
  495.     (this,ev,transform);
  496. #endif
  497. }
  498.  
  499. /* method: InverseTransform */
  500. ODShape*   InverseTransform(Environment *ev,
  501.         ODTransform* transform)
  502. {
  503.    #ifdef SOMCHKEXCEPT
  504.    ODShape* __somResult = 
  505.       SOM_ResolveD(this,ODBaseShape,ODBaseShape,InverseTransform)
  506.     (this,ev,transform);
  507.       SOMCHKEXCEPT;
  508.    return __somResult;
  509. #else
  510.    return SOM_ResolveD(this,ODBaseShape,ODBaseShape,InverseTransform)
  511.     (this,ev,transform);
  512. #endif
  513. }
  514.  
  515. /* method: Subtract */
  516. ODShape*   Subtract(Environment *ev,
  517.         ODShape* diffShape)
  518. {
  519.    #ifdef SOMCHKEXCEPT
  520.    ODShape* __somResult = 
  521.       SOM_ResolveD(this,ODBaseShape,ODBaseShape,Subtract)
  522.     (this,ev,diffShape);
  523.       SOMCHKEXCEPT;
  524.    return __somResult;
  525. #else
  526.    return SOM_ResolveD(this,ODBaseShape,ODBaseShape,Subtract)
  527.     (this,ev,diffShape);
  528. #endif
  529. }
  530.  
  531. /* method: Intersect */
  532. ODShape*   Intersect(Environment *ev,
  533.         ODShape* sectShape)
  534. {
  535.    #ifdef SOMCHKEXCEPT
  536.    ODShape* __somResult = 
  537.       SOM_ResolveD(this,ODBaseShape,ODBaseShape,Intersect)
  538.     (this,ev,sectShape);
  539.       SOMCHKEXCEPT;
  540.    return __somResult;
  541. #else
  542.    return SOM_ResolveD(this,ODBaseShape,ODBaseShape,Intersect)
  543.     (this,ev,sectShape);
  544. #endif
  545. }
  546.  
  547. /* method: Union */
  548. ODShape*   Union(Environment *ev,
  549.         ODShape* unionShape)
  550. {
  551.    #ifdef SOMCHKEXCEPT
  552.    ODShape* __somResult = 
  553.       SOM_ResolveD(this,ODBaseShape,ODBaseShape,Union)
  554.     (this,ev,unionShape);
  555.       SOMCHKEXCEPT;
  556.    return __somResult;
  557. #else
  558.    return SOM_ResolveD(this,ODBaseShape,ODBaseShape,Union)
  559.     (this,ev,unionShape);
  560. #endif
  561. }
  562.  
  563. /* method: Outset */
  564. ODShape*   Outset(Environment *ev,
  565.         ODCoordinate distance)
  566. {
  567.    #ifdef SOMCHKEXCEPT
  568.    ODShape* __somResult = 
  569.       SOM_ResolveD(this,ODBaseShape,ODBaseShape,Outset)
  570.     (this,ev,distance);
  571.       SOMCHKEXCEPT;
  572.    return __somResult;
  573. #else
  574.    return SOM_ResolveD(this,ODBaseShape,ODBaseShape,Outset)
  575.     (this,ev,distance);
  576. #endif
  577. }
  578.  
  579. };   /* ODBaseShape */
  580.  
  581.  
  582.  
  583. #endif       /* SOM_ODBaseShape_xh */
  584.